package com.erp.controller.productcategory;

import com.erp.common.annotation.Anonymous;
import com.erp.common.core.controller.BaseController;
import com.erp.common.core.domain.AjaxResult;
import com.erp.common.core.page.TableDataInfo;

import com.erp.domain.ErpProductCategory;
import com.erp.service.produtccategory.IPorductCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * --- 代码敲对！ ---
 *
 * @author CCCccc
 * @create 2025/9/2
 * 备注：商品分类控制层
 */
// 注解表示该类为控制层
@RestController
// 注解表示该类中的所有请求路径都以"/erp/product/category"开头
@RequestMapping("erp/product/category")
public class ProductcategoryController extends BaseController {
    // 自动注入
    @Autowired
    private IPorductCategoryService productcategoryService;

    /**
     * 查询所有商品分类列表
     */
    // 注解表示该请求路径为"/erp/product/category/list"
    @GetMapping("/list")
    // 注解表示该方法不需要身份验证即可访问
    @Anonymous
    public TableDataInfo list(ErpProductCategory category) {
        startPage();
        List<ErpProductCategory> list = productcategoryService.list(category);
        return getDataTable(list);
    }
    /**
     * 新增商品分类
     */
    // 注解表示该请求路径为"/erp/product/category"
    @PostMapping
    // 注解表示该方法不需要身份验证即可访问
    @Anonymous
    public AjaxResult add(@Validated @RequestBody ErpProductCategory category) {
        return toAjax(productcategoryService.add(category));
    }
    /**
     * 商品分类更新
     */
    // 注解表示该请求路径为"/erp/product/category"
    @PutMapping
    // 注解表示该方法不需要身份验证即可访问
    @Anonymous
    public AjaxResult update(@Validated @RequestBody ErpProductCategory category) {
        return toAjax(productcategoryService.update(category));
    }
}
